djinnifandomcom_pl-20200213-history
Konwersacje standardowe i filmowe
Kategoria:Konwersacje = Konwersacja standardowa = Teraz stworzymy kolejną konwersację dla Zygfryda. Będzie ona wyświetlana w momencie, gdy Geralt, czyli gracz, zaakceptuje zadanie od Zygfryda (konwersacja zadaniowa, którą stworzyliśmy wcześniej), ale jeszcze go nie wykona. Po zabiciu herszta bandytów Geralt będzie musiał poinformować o tym Zygfryda. Do tego wykorzystamy tę samą konwersację. Wyświetlone węzły rozmowy będą uzależnione od wartości flag. Wracamy do naszej konwersacji. Nie musimy tworzyć nowego pliku. Aby konwersacja zadaniowa za bardzo nam nie przeszkadzała w dalszej pracy, możemy zwinąć gałąź tej konserwacji, klikając w mały znak '-' obok węzła "Witaj Geralt.": Gdybyśmy chcieli teraz rozwinąć taką gałąź, po prostu klikamy w mały znak '+' obok węzła "Witaj Geralt": Aby dodać konwersację standardową klikamy lewym, a potem prawym przyciskiem myszki w węzeł New conversation: i z menu wybieramy Create Dialog Node: W ten sposób dodaliśmy pierwszy pusty węzeł (ang. empty) do konwersacji standardowej: Podobieństwo konwersacji standardowej do filmowej Jeżeli chcielibyśmy stworzyć konwersację filmową, czyli taką, która zostanie użyta w filmie (ang. cutscene) stworzonym na enginie gry Wiedźmin, musimy wybrać z menu Create Cutscene Node. W zasadzie konwersacja filmowa nie różni się niczym od konwersacji standardowej. Jedyna różnica jest taka, że o ile konwersacje standardowe i zadaniowe mogą znajdować się w jednym pliku, o tyle konwersacja filmowa już nie. Musi być zapisana w oddzielnym pliku. Do pliku z konwersacją filmową nie będzie można już dodać konwersacji standardowej czy zadaniowej. Proszę o tym pamiętać. Flagi konwersacji standardowej Wracamy do naszej konwersacji standardowej. Skoro węzeł, który dodaliśmy, jest pierwszy, to na pewno będzie go wypowiadał Zygfryd. Klikamy dwukrotnie w ten pusty węzeł i wpisujemy "Geralt czy zlikwidowałeś już herszta bandytów?": Po wpisaniu tekstu naciskamy klawisz ENTER. Teraz musimy zrobić tak, aby konwersacja była wyświetlona tylko wtedy, gdy wartość flagi posiada_zlecenie ''będzie miała wartość 1 (prawda). Konwersacje zadaniowe posiadają tylko grupę flag ''After Flag, co oznacza, że wartości tych flag będą ustawiane po wybraniu danego węzła konwersacji. Konwersacje standardowe także posiadają grupę flag After Flags, ale dodatkowo posiadają grupę flag Required Flags, ''w których wartości są sprawdzane (a nie ustawiane) przed wyświetleniem danego węzła i dopiero, gdy dana flaga ma wymaganą wartość, taki węzeł jest wyświetlany. Może najpierw dodajmy sprawdzanie flagi ''posiada_zlecenie. W tym celu klikamy w prawą kolumną obok atrybutu Add Flag ''w grupie flag ''Required Flags ''i z listy wybieramy ''posiada_zlecenie: W ten sposób flaga posiada_zlecenie ''została dodana do grupy flag ''Required Flags: Aby konwersacja zaczynająca się od węzła "Geralt czy zlikwidowałeś już herszta bandytów?" była wyświetlona, musi posiadać flagę posiada_zlecenie ''ustawioną na 1. I tak właśnie zrobiliśmy. Dodawanie nowej flagi Dodamy kolejną flagę. Flaga ta będzie miała wartość 1 (prawda), gdy Geralt, czyli Gracz, zabije herszta bandytów i poinformuje o tym Zygfryda. Aby dodać flagę klikamy w małą żółtą ikonę w prawej kolumnie atrybutu ''Add Flag ''w grupie flag ''Required Flags: Otworzy się znane już okno Flags: Klikamy prawym przyciskiem myszki na białym polu i z menu wybieramy Create Name: W oknie Enter name, które się otworzy, wpisujemy raport_zdany: i klikamy w przycisk OK. W ten sposób mamy już trzy flagi: Ponownie klikamy w prawej kolumnie obok atrybutu Add Flags ''w grupie flag ''Required Flags ''i z listy wybieramy ''raport_zdany: W ten sposób mamy dwie flagi: Musimy ustawić wartość flagi raport_zdany na 0 (fałsz). W tym celu klikamy w prawej kolumnie obok flagi raport_zdany ''i wpisujemy 0: Po wpisaniu wartości naciskamy klawisz ENTER. Konwersacja standardowa, którą właśnie tworzymy, będzie wyświetlona dopiero wtedy, gdy flaga ''posiada_zlecenie ''będzie miała wartość 1 (prawda, czyli gracz będzie posiadał już zlecenie od Zygfryda), a flaga ''raport_zdany ''będzie miała wartość 0 (fałsz, czyli gracz nie zdał jeszcze raportu o zabiciu herszta bandytów). = Kolejne węzły konwersacji = Kontynuujemy tworzenie węzłów konwersacji. Teraz dodamy wypowiedź dla Geralta, czyli gracza. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "''Geralt czy zlikwidowałeś już herszta bandytów?": i z menu wybieramy Create Dialog Replay: Dodaliśmy pusty węzeł dla wypowiedzi Geralta, czyli gracza: Klikamy dwukrotnie w tym pustym (ang. empty) węźle i wpisujemy "Nie, jeszcze nie": Po wpisaniu tekstu naciskamy klawisz ENTER. Ten węzeł ma być wyświetlony tylko wtedy, gdy Geralt, czyli gracz, nie zabił jeszcze herszta bandytów. W związku z tym klikamy w prawej kolumnie obok atrybutu Add Flags ''w grupie flag ''Required Flags ''i z listy wybieramy ''herszt_zabity: W ten sposób dodaliśmy flagę: Musimy zmienić jej wartość na 0 (fałsz), ponieważ chcemy, aby ten węzeł konwersacji był wyświetlany tylko wtedy, gdy herszt bandytów nie został zabity przez Geralta. Klikamy w prawej kolumnie obok flagi hersz_zabity ''i wpisujemy wartość 0: Po wpisaniu wartości naciskamy klawisz ENTER. Dodamy kolejny węzeł z wypowiedzią dla Geralta. Ponownie klikamy lewym, a potem prawym przyciskiem myszki w węzeł "''Geralt czy zlikwidowałeś już herszta bandytów?": Z menu wybieramy Create Dialog Reply: Klikamy dwukrotnie na pustym (ang. empty) węźle, który właśnie dodaliśmy: i wpisujemy "Tak, bydlak już nie żyje": Ten węzeł ma być wyświetlony tylko wtedy, gdy Geralt, czyli gracz, zabije herszta bandytów. W tym celu klikamy w prawej kolumnie obok atrybutu Add Flags ''w grupie flag ''Required Flags ''i z listy wybieramy ''herszt_zabity: Dzięki temu dodaliśmy flagę herszt_zabity, a ponieważ jej wartość jest automatycznie ustawiona na 1 (prawda), nie musimy nic zmieniać: Teraz dodamy węzeł z wypowiedzią dla Zygfryda na temat wykonanego przez Geralta zadania. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Tak, bydlak już nie żyje": i z menu wybieramy Create Dialog Entry: Klikamy dwukrotnie w nowo dodany pusty (ang. empty) węzeł i wpisujemy "Świetna robota Geralt! Oto Twoje 500 orenów": Po wpisaniu tekstu naciskamy klawisz ENTER. Dodatkowo węzeł ten posłuży jako zdanie raportu Zygfrydowi. W tym celu ustawimy wartość flagi raport_zdany ''na 1 (prawda). Klikamy w prawej kolumnie obok atrybutu ''Add Flags ''w grupie flag ''After Flags ''i z listy wybieramy ''raport_zdany: Flaga została dodana. Nie musimy zmieniać jej wartości, ponieważ wynosi ona 1 (prawda), a o to nam chodzi: Na koniec dodamy jeszcze możliwość zakończenia rozmowy z Zygfrydem. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Geralt czy zlikwidowałeś już herszta bandytów?": i z menu wybieramy Create Dialog Reply: Klikamy dwukrotnie w nowo dodany pusty (ang. empty) węzeł i wpisujemy "Bywaj": W ten sposób zakończyliśmy drugą konwersację dla Zygfryda. Zrobimy jeszcze trzecią, bardzo prostą. Będzie wyświetlana za każdym razem, gdy Geralt, czyli gracz, porozmawia z Zygfrydem już po zlikwidowaniu herszta bandytów i złożeniu raportu. = Kolejna konwersacja = Zwiniemy gałąź drugiej konwersacji, klikając w mały znak '-'obok węzła "Geralt czy zlikwidowałeś już herszta bandytów?": W ten sposób będzie łatwiej dalej tworzyć kolejną konwersację w tym samym pliku: Aby dodać nową konwersację, klikamy lewym, a potem prawym przyciskiem myszki w wiersz New conversation: i z menu wybieramy Create Dialog Node: Dodaliśmy kolejny pusty węzeł z kwestią dla Zygfryda: Klikamy w niego dwukrotnie i wpisujemy Świetna robota Geralt!": Teraz musimy zrobić tak, aby konwersacja została wyświetlona tylko wtedy, gdy flagi herszt_zabity ''oraz ''raport_zdany ''mają wartości równe 1. Aby zmienić ustawienie, klikamy w prawej kolumnie obok atrybutu ''Add Flags ''w grupie flag ''Required Flags ''i z listy wybieramy ''herszt_zabity: W ten sposób dodaliśmy flagę herszt_zabity. Nie musimy zmieniać jej wartości, ponieważ jest ona automatycznie ustawiona na 1 (prawda). Dodamy kolejną flagę. Ponownie klikamy w prawej kolumnie obok atrybutu Add Flags ''w grupie flag ''Required Flags ''i z listy wybieramy ''raport_zdany: Ta flaga również została dodana i tu także nie musimy zmieniać wartości, ponieważ wynosi ona 1 (prawda) a o to nam właśnie chodzi: Dzięki tym flagom konwersacja zostanie wyświetlona w momencie, gdy Geralt, czyli gracz, zabije herszta bandytów i złoży raport Zygfrydowi. Zmiana standardowej kolejności wygłaszanych kwestii Teraz dodamy kolejny węzeł konwersacji, ale chcemy, aby nadal mówił Zygfryd. Wcześniej napisano, że każda konwersacja odbywa się na przemian, czyli raz mówi jedna postać, potem druga" itd. Można temu zaradzić. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Świetna robota Geralt!": i z menu wybieramy Create Continue: W ten sposób dodamy węzeł, który nie będzie wyświetlany podczas konwersacji. Dzięki temu omijamy kolejne wypowiedzi Geralta, czyli gracza: Teraz klikamy lewym, a potem prawym przyciskiem myszki w ten węzeł i z menu wybieramy Create Dialog Entry: Dodaliśmy kolejny pusty (ang. empty) węzeł: Jest to węzeł, który dalej będzie wypowiadał Zygfryd. Klikamy w niego dwukrotnie i wpisujemy "Oby tak dalej!": Po wpisaniu tekstu naciskamy klawisz ENTER. I to wszystko, jeżeli chodzi o tworzenie konwersacji. Konwersacja dla Zygfryda jest gotowa. W całości wygląda tak: = Zapisanie pliku = Pozostało nam jej zapisanie. W tym celu z menu File ''wybieramy ''Save As... Otworzy się standardowe okno systemu Windows służące do zapisywania plików. Konwersacje musimy zapisać w folderze \Dialogues\ Przechodzimy do niego, wpisujemy nazwę z''ygfryd_rozmowa ''i klikamy w przycisk Zapisz. Pamiętajcie, że nazwa pliku nie może być dłuższa niż 16 znaków. W innym przypadku D’jinni nie będzie jej widział. Proszę też zwrócić uwagę, że przy zapisywaniu pliku będziemy zapisywać go w formacie .dlg: Jeżeli widnieje tam inny typ pliku, oznacza to, iż prawdopodobnie chcemy zapisać zawartość innego otwartego okna. Przed zapisaniem konwersacji upewnijcie się, że aktywnym oknem jest okno new conversation. Jeżeli pozostanie nieaktywne, pasek tytułu będzie w kolorze szarym: Inny kolor paska niż szary oznacza, że okno to jest aktywne: Gwiazdka widniejąca przed nazwą okna w pasku tytułowym oznacza, że plik nie został zapisany od czasu wprowadzenia ostatniej zmiany. Tak jak w przypadku zapisywania szablonów tak i tu zamiast wybierania Save as… ''z menu ''File, możemy wybrać Save new conversation, co pozwoli zapisać plik bezpośrednio do modułu. Nie róbcie jednak tego w tej chwili, ponieważ w tym podręczniku nie korzystano z tej metody. = Praca z węzłami drzewa konwersacji = Na koniec wypadałoby wspomnieć o usuwaniu węzłów, o ich zwijaniu i rozwijaniu, przenoszeniu itp. Jak widzicie nasza konwersacja jest wyświetlona w postaci drzewka. Można w nim wyodrębnić trzy główne gałęzie: Kliknięcie lewym, a potem prawym przyciskiem myszki na jakimkolwiek węźle konwersacji i wybranie z menu Collapse All: spowoduje zwinięcie wszystkich gałęzi drzewka: Jeżeli teraz z menu wybierzemy Expand All: wszystkie gałęzie drzewka ponownie zostaną rozwinięte. Kliknijcie teraz lewym, a potem prawym przyciskiem myszki w węzeł „Nie, jeszcze nie” ''i w menu ''Move Down: co spowoduje przeniesienie węzła "Nie, jeszcze nie" pod węzeł "Tak, bydlak już nie żyje": Aby ustawić ten węzeł na swoje miejsce, klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Nie, jeszcze nie" i z menu wybieramy Move Up. Węzeł powróci na swoje miejsce. Jeżeli klikniemy lewym, a potem prawym przyciskiem myszki w jakiś węzeł i z menu wybierzemy Insert File: to otworzy się standardowe okno systemu Windows do wczytywania plików. Dzięki temu możemy do danego węzła podpiąć istniejącą już konwersację. Przypominam, że wszystkie konwersacje zapisywane są w folderze \Data\Dialogues\. Pozostałe polecenia w menu, takie jak Cut, Copy i Pase: służą do wycinania, kopiowania i wklejania węzłów. Polecenie Paste as link ''służy do tworzenia linków do innych węzłów konwersacji. Na koniec jeszcze o usuwaniu węzłów. Aby usunąć dany węzeł konwersacji klikamy w niego lewym, a potem prawym przyciskiem myszki i z menu wybieramy ''Remove Entry: Dany węzeł konwersacji zostanie usunięty. Proszę uważać przy usuwaniu węzłów, ponieważ usunięcie głównego węzła gałęzi jak np. "Witaj Geralt": spowoduje usunięcie całej gałęzi: Aby uniknąć omyłkowego usunięcia całej gałęzi konwersacji, przy próbie jej usunięcia pojawi się okno Question: Dopiero kliknięcie w przycisk TAK spowoduje usunięcie danej gałęzi. To tyle, jeśli chodzi o menu konwersacji. Teraz pozostało nam przypisanie stworzonej konwersacji do Zygfryda. = Przypisywanie konwersacji do obiektów i aktorów = Konwersację możemy przypisać do szablonu Zygfryda, ale nie jest to zalecane dla postaci fabularnych, a przecież Zygfryd właśnie taką postacią jest. Jest to spowodowane tym, że postać fabularna w każdej fazie fabularnej może mieć przypisaną inną konwersację. Zygfrydowi przypiszemy konwersację stworzoną do jego systemu odradzania. Musimy otworzyć plik zawierający system odradzania Zygfryda. Posłużymy się eksploratorem zasobów (ang. resources explorer). Aby otworzyć eksplorator zasobów, z menu View wybieramy Utility Windows -> Resources Explorer. Z lewej strony ekranu otworzy się okno Resources Explorer. Dokładniej eksplorator zasobów został opisany w innym rozdziale podręcznika. System odradzania Zygfryda zapisaliśmy do folderu \Data\Templates\NPCSpawn\ pod nazwą nasz_zygfryd.npc. Aby otworzyć ten plik, rozwijamy gałąź Templates, klikając w mały znak '+' obok nazwy folderu: Potem rozwijamy kolejną gałąź, tym razem NPCSpawn ''ponownie klikając w mały znak '+' obok nazwy folderu: Teraz klikamy dwukrotnie w plik ''nasz_zygfryd.npc: Otworzy się okno nasz_zygfryd.npc ''zawierające system odradzania Zygfryda: Przypomnę teraz jak przypisać konwersację do systemu odradzania postaci. Klikamy dwukrotnie w polu pod kolumną ''Dialogs: Otworzy się okno Select: Okno wyświetla listę dialogów. Aby przypisać naszą konwersację musimy rozwinąć gałąź Dialogues ''klikając w mały znak '+' obok tej gałęzi: i na wyświetlonej liście klikamy dwukrotnie konwersację ''zygfryd_rozmowa: W ten sposób przypisaliśmy stworzoną przez nas konwersację do systemu odradzania Zygfryda: Pozostaje nam jeszcze zapisanie zaktualizowanej wersji pliku nasz_zygfryd.npc. To, że coś zostało zmienione w pliku i nie zapisane, jest oznaczone w postaci gwiazdki umieszczonej przed nazwą okna nasz_zygfryd.npc: Aby zapisać plik pod tą samą nazwą, czyli nasz_zygfryd.npc, z menu File ''wybieramy ''Save nasz_zygfryd.npc: Jeżeli nie ma Save nasz_zygfryd.npc ''lub widnieje tam inna nazwa pliku oznacza to, że okno ''nasz_zygfryd.npc ''nie jest aktywne. Aby je uaktywnić wystarczy kliknąć w nazwę okna ''nasz_zygfryd.npc ''i ponownie z menu ''File ''wybrać ''Save nasz_zygfryd.npc. = Pozostałe atrybuty konwersacji = W zakończeniu tego podrozdziału zostaną przedstawione pozostałe atrybuty konwersacji. Na początek klikamy w wiersz zygfryd_rozmowa ''(jeżeli konwersacja nie została jeszcze zapisana, zamiast nazwy pliku wyświetlany jest wiersz ''new conversation): W oknie właściwości znajdującym się z prawej strony ekranu pojawią się następujące atrybuty: Grupa Conversation Properties *'Enable cine view on start.' Atrybut ten jest odpowiedzialny za to, czy przed konwersacją zostanie zwężony ekran i pokażą się czarne ramki. Znaczenie poszczególnych opcji atrybutu: :False – oznacza, że ekran nie zostanie zwężony i czarne ramki nie będą wyświetlone, :True – oznacza, że ekran zostanie zwężony i pojawią się czarne ramki. Ta opcja jest zaleca. Ustawienie tego atrybutu na False może spowodować błędy. *'Disable cine view on end. Atrybut ten jest odpowiedzialny za to, czy po konwersacji ekran zostanie rozszerzony i czarne ramki znikną. Znaczenie poszczególnych opcji atrybutu: :False – oznacza, że ekran nie zostanie rozszerzony i czarne ramki będą dalej wyświetlone, :True – oznacza, że ekran zostanie rozszerzony, a czarne ramki usunięte. Opcja ta jest zalecana. W innym przypadku mogą pojawić się błędy. *'Force Interactive Mode.' Grupa Stats for Lang Tak naprawdę nie są to atrybuty, tylko statystyki związane z konwersacją: *'''''Words – podaje ilość wyrazów w konwersacji, *''Chars'' – podaje ilość znaków w konwersacji, *''Translated'' – podaje ile węzłów (ang. node) w konwersacji zostało napisanych w innym języku. Teraz klikamy w węzeł konwersacji zadaniowej, który wypowie postać inna niż gracz, czyli w naszym wypadku Zygfryd. Klikamy w węzeł "Witaj Geralt": W oknie właściwości pojawią się kolejne atrybuty: Grupa Node Text *''FinalEnglish_Short.'' Atrybut ten zawiera tekst, który znajduje się w danym węźle konwersacji. My wpisywaliśmy tekst poprzez dwukrotne kliknięcie w węzeł. Oczywiście tekst można wpisywać w atrybucie. Wystarczy kliknąć w prawej kolumnie obok atrybutu FinalEnglish_Short, ''wpisać tekst i nacisnąć klawisz ENTER. Nazwa atrybutu może być inna np. ''Polish. Wszystko zależy od tego, jaką wersję językową mamy ustawioną w D’jinni. Więcej na ten temat napisano w innym rozdziale podręcznika. *'Speaker. Ten atrybut decyduje o tym, która postać będzie wypowiadała dany węzeł konwersacji. Znaczenie poszczególnych opcji atrybutu: :'''''__owner__ – oznacza, że dany węzeł konwersacji będzie wypowiadać inna postać niż Geralt, :__player__ – oznacza, że dany węzeł konwersacji będzie wypowiadać Geralt, czyli gracz. Oczywiście w konwersacji mogą brać więcej niż dwie postacie, np. w naszej konwersacji mógłby brać udział jeszcze Józek. Ponieważ tak naprawdę tworzymy konwersacje dla Zygfryda i Geralta, Józka musimy dodać, jako dodatkową postać. Klikamy w małą żółtą ikonę w prawej kolumnie obok atrybutu Speaker: Otworzy się okno Speakers: Teraz klikamy prawym przyciskiem myszki w białym polu okna i z menu wybieramy Create Name: Otworzy się kolejne okno, tym razem jest to okno Add Speaker: Kolejną postać do konwersacji można dodać na dwa sposoby – wpisując tag takiej postaci w polu Name '', np. ''nasz_jozek: lub wybierając ją z listy: Na liście znajdują się tylko postacie fabularne, które posiadają tag. Po dodaniu postaci klikamy w przycisk OK w oknie Add Speaker. Postać znajdzie się na liście: Gdybyśmy chcieli ją usunąć, klikamy prawym przyciskiem myszki i z menu wybieramy Delete Name: Na koniec klikamy w przycisk OK w oknie Speakers: Teraz, aby przypisać dany węzeł konwersacji do nowej postaci, klikamy w prawej kolumnie obok atrybutu Speaker ''i z listy wybieramy ''nasz_jozek: W ten sposób tworzy się konwersacje, w których udział biorą więcej niż dwie postacie. Jeżeli w konwersacji biorą udział tylko dwie osoby tj. Geralt, czyli gracz, i druga postać, tak jak to jest w naszej konwersacji, w tym atrybucie nie musimy nic zmieniać. W zależności od tego, który węzeł konwersacji tworzymy, atrybut ten automatycznie ma przypisywane postacie na przemian __owner__ oraz __player__. *'Interlocutor.' Ten atrybut decyduje o tym, do której postaci zwraca się postać wypowiadająca dany węzeł konwersacji. Znaczenie poszczególnych opcji atrybutu: :__owner__ – postać zwraca się sama do siebie, :__player__ – postać zwraca się do Geralta, czyli do gracza. W konwersacjach, gdzie udział biorą tylko dwie postacie, tak jak w naszym przypadku, w atrybucie nie musimy nic zmieniać. Gdyby w konwersacji brały udział więcej niż dwie postacie i zaszła by potrzeba zwrócenia się do innej osoby, trzeba taką postać dodać. Wszystko robi się tak samo jak w atrybucie Speaker. *'Voice File.' Ten atrybut odpowiedzialny jest za plik dźwiękowy z wypowiedzią dla danego węzła konwersacji. Aby taki plik przypisać musimy kliknąć w małą żółtą ikonę w prawej kolumnie obok atrybutu Voice File: Otworzy się standardowe okno systemu Windows służące do wczytywania plików. Wyszukujemy interesujący nasz plik z dźwiękiem i klikamy w przycisk Otwórz. Jeżeli chcemy posłuchać jak brzmi przypisany dźwięk, klikamy w małą niebieską ikonę w prawej kolumnie obok atrybutu Voice File: *'Voiceset tag.' Atrybut ten odpowiada za zestaw predefiniowanych dźwięków, które słychać w tle podczas poszczególnych węzłów konwersacji. Dzięki temu podczas konwersacji słychać np. padający deszcz. Wyboru dokonuje się z listy. Aby zmienić ustawienie, musimy kliknąć w prawą kolumnę obok atrybutu Voiceset tag: Kliknięcie w małą niebieską ikonę obok listy wyboru otworzy plik voiceset_tags.2da, który jest bazą danych zawierającą informację na temat predefiniowanych dźwięków. *'Comment.' Atrybut ten zawiera dowolny komentarz. To po prostu pole informacyjne. Możemy w tym miejscu wpisać dowolny tekst. *'Camera Shot.' Atrybut ten odpowiada za ujęcie kamery podczas konwersacji. Do każdego węzła konwersacji możemy inaczej ustawić kamerę. Wyboru dokonuje się z listy. Aby zmienić ustawienie musimy kliknąć w prawej kolumnie obok atrybutu Camera Shot: Znaczenie opcji atrybutu: :Auto – oznacza automatyczne ustawienie kamery, jest to opcja najbardziej zalecana, :Random – oznacza losowe ustawienie kamery, :NoChange – oznacza, że kamera nie jest ustawiana. Pozostałe opcje atrybutu odpowiadają za ustawienie kamery na różnej pozycji. Proponuję jednak nie ustawiać innej opcji niż Auto ''chyba, że podczas konwersacji zauważymy, iż kamera znajduje się w dziwnym miejscu. Kliknięcie w małą niebieską ikonę obok listy wyboru otworzy plik ''dlgcamshots.2da. Jest to baza danych zawierająca ustawienia poszczególnych ujęć kamery. *'Response' Atrybut ten odpowiada za reakcję postaci biorącej udział w konwersacji na postać Geralta, czyli gracza. Dla przykładu w naszej konwersacji moglibyśmy zrobić tak, że Zygfryd zleciłby zadanie Geraltowi, czyli graczowi, dopiero wtedy, gdy ten mu da np. pierścień. Możemy też zrobić tak, że Zygfryd w ogóle nie będzie chciał rozmawiać z Geraltem, bo będzie zajęty. Wszystko ustawiamy za pomocą tego atrybutu. Zawiera on szereg opcji, które wybiera się i zaznacza z listy: Ustawienia dokonujemy przez kliknięcie w mały kwadrat obok nazwy reakcji, którą chcemy zaznaczyć: Ponowne kliknięcie wcześniej zaznaczonej reakcji spowoduje jej odznaczenie. Jeżeli z jakiegoś powodu chcemy ustawić wszystkie reakcje, co nie jest zalecane, po prostu klikamy w mały kwadrat obok gwiazdki: Znaczenie poszczególnych opcji atrybutu: :Default – ustawienie domyślne, postać nie żąda niczego :Gain – postać chce otrzymać cokolwiek, :Gain / Signet – postać chce sygnet, :Gain / Drink – postać chce otrzymać alkohol, :Gain / Bribe – postać chce otrzymać łapówkę, :Gain / Gift – postać chce otrzymać podarunek, :Gain / Fistfight – ostać chce stoczyć pojedynek na pięści, :Reject – postać nie chce rozmawiać, :Reject / Busy – postać nie chce rozmawiać, ponieważ jest zajęta, :Reject / Drink – postać nie chce rozmawiać, ponieważ jest pijana, :Reject / Offend – postać nie chce rozmawiać, ponieważ jest obrażona, :Reject / Sleep – postać nie chce rozmawiać, ponieważ śpi, :Reject / Fistfight – postać nie chce rozmawiać, ponieważ walczy na pięści, :Reject / Gift – postać nie chce rozmawiać, ponieważ nie otrzymała podarunku. *'Action Script.' Atrybut ten odpowiada za skrypt, który jest uruchamiany po zakończeniu danego węzła konwersacji. Aby przypisać skrypt, klikamy w małą żółtą ikonę w prawej kolumnie obok atrybutu Action Script: Otworzy się standardowe okno systemu Windows służące do wczytywania plików. Przechodzimy do folderu \Data\Scripts\ (w tym folderze zapisane są wszystkie pliki ze skryptami), wyszukujemy interesujący nas plik i klikamy w przycisk Otwórz. Więcej na temat skryptów napisano w innym rozdziale podręcznika. *'Conv Type.' Atrybut ten odpowiada za typ konwersacji. W zasadzie jest on ustawiany automatycznie w zależności od tego, czy jest to konwersacja zadaniowa czy standardowa. Czasami może zajść potrzeba zmiany tego atrybutu, np. aby zaznaczyć w konwersacji zadaniowej, że dany węzeł konwersacji jest opcją do wyboru wypowiedzi dla Geralta, czyli gracza. Wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu Conv Type: Znaczenie poszczególnych opcji atrybutu: :Cutscene – oznacza, że jest to węzeł konwersacji filmowej, :Dialog – oznacza, że jest to węzeł standardowy, :Quest – oznacza, że jest to węzeł zadaniowy, :Accompanying – oznacza, że dany węzeł w konwersacji zadaniowej jest opcją wyboru wypowiedzi dla Geralta, czyli gracza. Jest jeszcze jedna opcja do wyboru, czyli Gameplay. Jest dostępna tylko wtedy, gdy dany węzeł konwersacji wypowiada Geralt. Więcej na ten temat zostanie wyjaśnione w następnym podrozdziale. *'JournalId.' Atrybut ten zawiera informacje, które mogą pojawić się w dzienniku Geralta, czyli gracza. Może to być np. wpis na temat Zygfryda czy Józka itp. Wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu JurnalId: Kliknięcie w niebieską ikonę obok listy wyboru otworzy plik jurnal.2da. Jest to baza danych zawierająca informacje na temat wpisów do dziennika gracza. Grupa Node Emotions Atrybuty w tej grupie odpowiedzialne są za emocje wyrażane przez postaci podczas danego węzła konwersacji. Emocje to po prostu zestaw animacji, która będzie wyświetlana w danym węźle konwersacji. *'__player__'. Ten atrybut odpowiada za emocje dla Geralta, czyli gracza. *'__owner__'. Ten atrybut odpowiada za emocję dla postaci, do której przypisana jest dana konwersacja, czyli w naszym przypadku jest to Zygfryd. W obu tych atrybutach wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu __player__ ''lub ''__owner__: Znaczenie poszczególnych opcji atrybutu: :puste pole – ''brak emocji, :afraid – 'przestraszony, :alarmed – ''zaniepokojony, :''amused ''– rozbawiony, :''amused_kid ''– żartowniś, :''angry – ''zły, :''armed – ''uzbrojony, :''bored – ''zmęczony, :''default – ''domyślne, :''despaired – ''zrozpaczony, :''drunk – ''pijany, :''excited – ''podekscytowany, :''fistfight '' :''flirting_female – ''zalotna kobieta, :''friendly – ''przyjazny, :''hostile – ''nieprzyjazny, :''hostile_female – ''nieprzyjazna kobieta, :''interested – ''zainteresowany, :''lofty – ''dumny, :''pain – ''cierpiący, :''sad – ''smutny, :''shy – ''nieśmiały, :''terrified – ''przerażony :''timid – ''bojaźliwy, :''tired – ''zmęczony, : ''witcher – ''wiedźmin. Grupa Rotate Towards Atrybuty w tej grupie odpowiedzialne są za sposób ustawienia postaci biorących udział w konwersacji i mówią np. o tym, na kogo dana postać ma patrzeć podczas rozmowy. Jeżeli jest to konwersacja, w której udział biorą tylko dwie postacie, nie musimy nic zmieniać, jeżeli natomiast w konwersacji biorą udział więcej niż dwie postacie, za pomocą tych atrybutów możemy ustawić, kto na kogo ma spoglądać. *'__player__'. Atrybut ten zawiera postać, do której podczas wypowiadania danego węzła konwersacji zwrócony jest gracz, *'__owner__': Atrybut ten zawiera osobę, w stronę której podczas wypowiadania danego węzła konwersacji zwrócona jest postać, do której przypisana jest dana konwersacja, czyli w naszym przypadku jest to Zygfryd. Jeżeli w konwersacji biorą udział więcej niż dwie postacie, pozostałe musimy dodać. Jak to zrobić zostało wyjaśnione przy omawianiu atrybutu '''''Speaker. Grupa After Flags Przeznaczenie grupy After Flags ''opisano już wcześniej. Za pomocą tej grupy możemy dodawać flagi, które będą miały ustawiane wartości po zakończeniu danego węzła wypowiedzi. Atrybuty węzła konwersacji zadaniowej dla Geralta, czyli gracza, różnią się tylko jednym atrybutem i jedną opcją. Klikamy w węzeł "''Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?": Jeśli przyjrzymy się teraz atrybutom, to zauważymy, że nie ma już atrybutu Response, a jego miejsce zajął atrybut Quest Id: Jak już wcześniej opisano, atrybut ten odpowiada za identyfikator zadania. Inna różnica w konwersacji zadaniowej dla Geralta jest taka, że mamy dostępną dodatkową opcję w atrybucie Conv Type: Po ustawieniu opcji Gameplay ''w atrybucie ''Conv Type ''pojawią się dodatkowe atrybuty: Szczegółowo zostaną one opisane w następnym podrozdziale, gdzie będziemy tworzyć akcje grania (ang. gameplay). Teraz klikamy w węzeł konwersacji wypowiadany przez inną postać niż Geralt, czyli gracz, ale tym razem chodzi o konwersację standardową. Tu także nastąpiła tylko jedna zmiana, tzn. doszedł jeden atrybut ''Condition Script: O ile skrypt przypisany do atrybutu ''Action Script ''jest uruchamiany zaraz po zakończeniu danego węzła konwersacji, o tyle skrypt przypisany do atrybutu ''Condition Script ''jest uruchamiany przed danym węzłem konwersacji. Dzięki temu przed wyświetleniem danego węzła możemy sprawdzić czy zostały spełnione jakieś dodatkowe warunki (ang. condition). To wszystko, jeśli chodzi o atrybuty konwersacji.